home *** CD-ROM | disk | FTP | other *** search
- /* PDUtilities.h: Utility routines and resource declarations for ProjectDrag
- *
- * A set of applets for drag and drop source control by Tim Maroney.
- * See develop, issue 23 for details.
- *
- * Built on DropShell by Leonard Rosenthol, Stephan Somogyi, and Marshall Clow,
- * and using the MoreFiles utilities by Jim Luther.
- *
- * This software is free, but don't modify and redistribute it without
- * changing the status window to indicate your name and your changes!
- */
-
- #ifndef __PDUTILITIES__
- #define __PDUTILITIES__
-
- #include <Types.h>
- #include <Files.h>
-
-
- typedef enum { kConfirmYes, kConfirmNo, kConfirmCancel } ConfirmResponse;
-
-
- #define kSelectWithPromptDialog 212
-
-
- #define kProjectDragStrings 101
- #define kPrefsFolderName 1
- #define kPrefsFileName 2
- #define kWhatYouChangedIn 3
- #define kWhatYouWillDoWith 4
- #define kNoUserSettings 5
- #define kCantGetCKID 6
- #define kCantFindProject 7
- #define kProjectorError 8
- #define kProjectorOutput 9
- #define kIdleStatus 10
- #define kMountStatus 11
- #define kTimsByline 12
- #define kAddHeader 13
- #define kAnErrorOccured 14
- #define kFirstCheckedIn 15
- #define kFindingSourceServer 16
- #define kCantAddComment 17
- #define kExplainChange 18
- #define kConfirmDiscardChanges 19
- #define kNoCheckInPermission 20
- #define kNoCheckOutPermission 21
- #define kNoMROPermission 22
- #define kCantWritePrefs 23
- #define kGettingUserName 24
- #define kAddingChangeComment 25
- #define kFindingProject 26
- #define kSelectDB 27
- #define kCantFindProjectCanYou 28
- #define kMROCommentFailedCancel 29
- #define kCheckoutCommentFailedCancel 30
- #define kNameMappingFile 31
- #define kConfirmAddFile 32
- #define kCantCancel 33
- #define kExternalCheckinFailedCancel 34
- #define kCancelEvenThoughNotCheckedOut 35
- #define kPreviousCommentFileName 36
-
- // The structure of a Projector 'ckid' resource
-
- typedef struct {
- unsigned long checkSum;
- long LOC; /* location identifier */
- short version; /* ckid version number */
- short writeable; /* Check out state */
- char branch; /* if modifiable & true then branch was made on check out */
- Boolean modifyReadOnly; /* did user execute “ModifyReadOnly” on this file? */
-
- unsigned long unused;
- unsigned long checkoutTime; /* date and time of checkout */
- unsigned long modificationTime; /* mod date of file */
-
- unsigned long projectIdA; /* PID.a */
- unsigned long projectIdB; /* PID.b */
-
- short userId; /* user ID */
- short fileId; /* file ID */
- short revisionId; /* rev ID */
-
- Str255 projectPath; /* Project path -- variable size! */
-
- /* These fields cannot be represented in a struct
- ** but are listed here as documentation:
-
- char; /* Byte = 0 *
- PString userName; /* User name *
- char; /* Byte = 0 *
- PString revisionNumber; /* Revision number *
- char; /* Byte = 0 *
- PString fileName; /* File name *
- char; /* Byte = 0 *
- PString task; /* task *
- char; /* Byte = 0 *
- PString comment; /* comment *
- char; /* Byte = 0 *
-
- **/
-
- } CKIDRec, *CKIDPtr, **CKIDHandle;
-
- typedef char *CString;
- typedef CString *CStringPtr, **CStringHandle;
-
- OSErr ExtractCKID(FSSpec *file, CKIDHandle *theCKID);
-
- OSErr FindPreferencesFolder(short *vRefNum, long *folderID);
-
- void AppendString(unsigned char *original, unsigned char *append);
-
- OSErr MakeFullPathName(FSSpec *spec, Str255 fullPathName);
-
- OSErr ProcessFileOrFolder(FSSpec *spec, void (*doFile)(FSSpec *spec, Boolean doingFolde),
- OSErr (*doFolder)(short vRefNum, long folderID,
- void (*doFile)(FSSpec *spec, Boolean doingFolde)));
-
- OSErr ProcessFolder(short vRefNum, long folderID, void (*doFile)(FSSpec *spec, Boolean doingFolde));
-
- pascal Boolean ProjectDragIdleProc(EventRecord *theEvent, long *sleepTime, RgnHandle *mouseRgn);
-
- short ReplaceString(Handle baseText, StringPtr key, StringPtr substitutionText);
-
- void ReplaceInIndString(StringPtr stringOut, short strListID, short strIndex,
- StringPtr param1, StringPtr param2,
- StringPtr param3, StringPtr param4);
-
- long LineSize(StringPtr theLine, long maxSize);
-
- Boolean MatchLineUntilChar(StringPtr line1, long len1, StringPtr line2, long len2, char untilChar);
-
- Boolean MatchLine(StringPtr line1, long len1, StringPtr line2, long len2);
-
- OSErr GetFileData(FSSpec *file, Handle *fileData, short *refNum);
-
- OSErr WriteFileWithHeader(short refNum, Handle fileData, long startOffset, StringHandle header);
-
- OSErr SetFileLabel(FSSpec *file, short label, short *oldLabel);
-
- #endif
-